package com.linb.pan.server.modules.share.vo;

import com.fasterxml.jackson.annotation.JsonValue;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.linb.pan.server.modules.file.vo.BPanUserFileVO;
import com.linb.pan.web.serializer.Date2StringSerializer;
import com.linb.pan.web.serializer.IdEncryptSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
@ApiModel(value = "分享详情返回实体")
public class ShareDetailVO implements Serializable {

    private static final long serialVersionUID = -2746605032967966237L;

    @JsonSerialize(using = IdEncryptSerializer.class)
    @ApiModelProperty(value = "分享的id")
    private Long shareId;

    @ApiModelProperty(value = "分享的名称")
    private String shareName;

    @ApiModelProperty(value = "分享的创建时间")
    @JsonSerialize(using = Date2StringSerializer.class)
    private Date createTime;

    @ApiModelProperty(value = "分享的天数")
    private Integer shareDay;

    @ApiModelProperty(value = "分享的截止时间")
    @JsonSerialize(using = Date2StringSerializer.class)
    private Date shareEndTime;

    @ApiModelProperty(value = "分享的文件列表")
    private List<BPanUserFileVO> bPanUserFileVOList;

    @ApiModelProperty(value = "分享者信息")
    private ShareUserInfoVO shareUserInfoVO;

}
